package fr.uniscol.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import fr.uniscol.model.geo.Academie;
import fr.uniscol.model.geo.Commune;
import fr.uniscol.model.geo.Pays;
import fr.uniscol.model.utilisateur.User;

public class Etablissement implements Serializable, DonneeUniscol {

	private String uai = null;
	
	private String nom = null;

	private String adresse1 = null;
	
	private String adresse2 = null;
	
	private String adresse3 = null;
	
	private String codePostal = null;
	
	private String boitePostale = null;
			
	private String telephone = null;
	
	private String email = null;

	private Commune commune = null;
	
	private Pays pays = null;
	
	private Academie academie = null;
	
	private List<User> utilisateurs = null;
	
	private List<AnneeScolaire> bases = null;
	
	public Etablissement() {
		super();
	}
	
	public Etablissement(String uai, String nom) {
		super();
		this.uai = uai;
		this.nom = nom;
	}

	public String getUai() {
		if(uai == null){
			uai = "";
		}
		return uai;
	}

	public void setUai(String uai) {
		this.uai = uai;
	}

	public String getNom() {
		if(nom == null){
			nom = "";
		}
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public List<User> getUtilisateurs() {
		if(utilisateurs == null){
			utilisateurs = new ArrayList<User>();
		}
		return utilisateurs;
	}

	public void setUtilisateurs(List<User> utilisateurs) {
		this.utilisateurs = utilisateurs;
	}

	public List<AnneeScolaire> getBases() {
		if(bases == null){
			bases = new ArrayList<AnneeScolaire>();
		}
		return bases;
	}

	public void setBases(List<AnneeScolaire> bases) {
		this.bases = bases;
	}

	public String getAdresse1() {
		if(adresse1 == null){
			adresse1 = "";
		}
		return adresse1;
	}

	public void setAdresse1(String adresse1) {
		this.adresse1 = adresse1;
	}

	public String getAdresse2() {
		if(adresse2 == null){
			adresse2 = "";
		}
		return adresse2;
	}

	public void setAdresse2(String adresse2) {
		this.adresse2 = adresse2;
	}

	public String getAdresse3() {
		if(adresse3 == null){
			adresse3 = "";
		}
		return adresse3;
	}

	public void setAdresse3(String adresse3) {
		this.adresse3 = adresse3;
	}

	public String getCodePostal() {
		if(codePostal == null){
			codePostal = "";
		}
		return codePostal;
	}

	public void setCodePostal(String codePostal) {
		this.codePostal = codePostal;
	}

	public String getBoitePostale() {
		if(boitePostale == null){
			boitePostale = "";
		}
		return boitePostale;
	}

	public void setBoitePostale(String boitePostale) {
		this.boitePostale = boitePostale;
	}

	public String getTelephone() {
		if(telephone == null){
			telephone = "";
		}
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	public String getEmail() {
		if(email == null){
			email = "";
		}
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Commune getCommune() {
		return commune;
	}

	public void setCommune(Commune commune) {
		this.commune = commune;
	}

	public Pays getPays() {
		return pays;
	}

	public void setPays(Pays pays) {
		this.pays = pays;
	}

	public Academie getAcademie() {
		return academie;
	}

	public void setAcademie(Academie academie) {
		this.academie = academie;
	}

	@Override
	public boolean equals(Object obj) {
		Etablissement eta = (Etablissement)obj;
		
		return getUai().equalsIgnoreCase(eta.getUai());
	}
}
